package jwcb.admin.server.user.service;

import jwcb.admin.server.user.domain.dto.*;
import jwcb.javapjframework.common.domain.domain.R;
import jwcb.javapjframework.common.security.domain.dto.TokenDto;

import java.util.List;

/**
 * B端用户服务相关接口
 */
public interface ISysUserService {

    /**
     * B端用户登录
     * @param passwordLoginDto 账号密码信息
     * @return token信息
     */
    TokenDto login(PasswordLoginDto passwordLoginDto);


    /**
     * 新增用户信息
     * @param sysUserAddDto B端用户信息DTO
     * @return 用户Id
     */
    Long add(SysUserAddDto sysUserAddDto);


    /**
     * 编辑用户信息
     * @param sysUserEditDto B端用户信息DTO
     * @return 用户Id
     */
    Long edit(SysUserEditDto sysUserEditDto);


    /**
     * 查询B端用户
     * @param sysUserListReqDTO 用户查询DTO
     * @return B用户列表
     */
    List<SysUserDTO> getUserList(SysUserListReqDTO sysUserListReqDTO);



    /**
     * 获取B端登录用户信息
     * @return B端用户信息VO
     */
    SysUserLoginDto getLoginUser();
}
